From 5bdbe8cbbd5e60d491ac03ddd2f1af6c6ee77172 Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Thu, 17 Jan 2008 12:05:43 -0700 Subject: [PATCH] [IA64] Allocate struct vcpu from domheap. Now there's no constraint to allocate struct vcpu from xenheap. So allocate it from domain heap. Signed-off-by: Isaku Yamahata --- xen/arch/ia64/xen/domain.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xen/arch/ia64/xen/domain.c b/xen/arch/ia64/xen/domain.c index faf945cdb6..8a552db9cf 100644 --- a/xen/arch/ia64/xen/domain.c +++ b/xen/arch/ia64/xen/domain.c @@ -407,6 +407,7 @@ void relinquish_vcpu_resources(struct vcpu *v) struct vcpu *alloc_vcpu_struct(void) { + struct page_info *page; struct vcpu *v; struct thread_info *ti; static int first_allocation = 1; @@ -419,8 +420,10 @@ struct vcpu *alloc_vcpu_struct(void) return idle_vcpu[0]; } - if ((v = alloc_xenheap_pages(KERNEL_STACK_SIZE_ORDER)) == NULL) + page = alloc_domheap_pages(NULL, KERNEL_STACK_SIZE_ORDER, 0); + if (page == NULL) return NULL; + v = page_to_virt(page); memset(v, 0, sizeof(*v)); ti = alloc_thread_info(v); @@ -435,7 +438,7 @@ struct vcpu *alloc_vcpu_struct(void) void free_vcpu_struct(struct vcpu *v) { - free_xenheap_pages(v, KERNEL_STACK_SIZE_ORDER); + free_domheap_pages(virt_to_page(v), KERNEL_STACK_SIZE_ORDER); } int vcpu_initialise(struct vcpu *v) -- 2.30.2